// 就是axios的二次封装
import axios from 'axios';

// 请求实例
let http = axios.create({
  baseURL: 'http://localhost:3000/', //基准路径会和url地址做拼接
  timeout: 5000,
});
// 请求拦截器
http.interceptors.request.use(
  (request) => {
    // request 请求对象
    // 统一添加token值
    // request.headers.token = "123abc"
    return request;
  },
  (error) => {
    //错误信息
    return Promise.reject(error);
  },
);
// 响应拦截器
http.interceptors.response.use(
  (response) => {
    return response;
  },
  (error) => {
    // 响应的错误信息  提前处理错误的响应状态
    if (error.response) {
      //对404的响应状态 提前做出处理
      //对500的响应状态  提前做出处理
      if (error.response.status == 404) {
        //404的处理逻辑就就写在这里
      } else if (error.response.status == 500) {
        //500的处理逻辑就写在这里
      }
    }
    return Promise.reject(error);
  },
);
export default http;
